package com.university.mentalhealthplatform.global.rbac.dto.normal;

import java.util.Set;

public class MenuHierarchyDTO {

    private Long id;
    private String menuName;
    private String menuDisplayName;
    private boolean status;
    private Set<PermissionDTO> permissions;
    private Set<MenuHierarchyDTO> childMenus;
    private Integer orderNum;
    private boolean visible;
    private String description;

    // 默认构造函数
    public MenuHierarchyDTO() {
    }

    // 带参构造函数
    public MenuHierarchyDTO(Long id,String menuName, String menuDisplayName,Integer orderNum,boolean visible, boolean status,String description, Set<PermissionDTO> permissions, Set<MenuHierarchyDTO> childMenus) {
        this.id = id;
        this.menuDisplayName = menuDisplayName;
        this.menuName = menuName;
        this.status = status;
        this.permissions = permissions;
        this.childMenus = childMenus;
        this.orderNum =orderNum;
        this.visible = visible;
        this.description = description;
    }

    // Getter 和 Setter 方法
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getMenuDisplayName() {
        return menuDisplayName;
    }

    public void setMenuDisplayName(String menuDisplayName) {
        this.menuDisplayName = menuDisplayName;
    }

    public boolean isStatus() {
        return status;
    }

    public void setStatus(boolean status) {
        this.status = status;
    }

    public Set<PermissionDTO> getPermissions() {
        return permissions;
    }

    public void setPermissions(Set<PermissionDTO> permissions) {
        this.permissions = permissions;
    }

    public Set<MenuHierarchyDTO> getChildMenus() {
        return childMenus;
    }

    public void setChildMenus(Set<MenuHierarchyDTO> childMenus) {
        this.childMenus = childMenus;
    }

    public String getMenuName() {
        return menuName;
    }

    public void setMenuName(String menuName) {
        this.menuName = menuName;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public boolean isVisible() {
        return visible;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public void setVisible(boolean visible) {
        this.visible = visible;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }
}
